package cn.edu.sgu.www.pms.service;

import cn.edu.sgu.www.pms.dto.RolePermissionDTO;
import cn.edu.sgu.www.pms.entity.Permission;
import cn.edu.sgu.www.pms.pager.impl.PermissionPager;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public interface RolePermissionService {

    /**
     * 一键搜权
     * @param roleId 角色ID
     */
    @Transactional(rollbackFor = Exception.class)
    void grant(Integer roleId);

    /**
     * 添加角色权限
     * @param rolePermissionDTO 角色权限信息
     */
    void insert(RolePermissionDTO rolePermissionDTO);

    /**
     * 删除角色权限
     * @param roleId 角色ID
     * @param permissionIds 权限ID列表
     */
    void delete(Integer roleId, List<String > permissionIds);

    /**
     * 分页查询角色的权限列表
     * @param pager 查询参数
     * @return Page<Permission>
     */
    Page<Permission> selectByPage(PermissionPager pager);
}